﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;

namespace PM.Entity
{
    public class Trade
    {
        #region public methods
        /// <summary>
        /// default constructor of Trade. 
        /// </summary>
        public Trade()
        {
            this.TradeDate = string.Empty;
            this.TradeTime = string.Empty;
            this.BuySell = string.Empty;
            this.ExecutionId = string.Empty;
            this.CompanyId = string.Empty;
            this.MainType = string.Empty;
            this.SubType = string.Empty;
            this.Quantity = 0;
            this.Price = 0;
            this.LotType = string.Empty;
            this.TaxFlag = 0;
            this.BrokerIdBuy = string.Empty;
            this.BrokerIdSell = string.Empty;
            this.BuyingContractNo = 0;
            this.SellingContractNo = 0;
            this.ClientPrefix = 0;
            this.ClientSuffix = string.Empty;
            this.JointAcNo = 0;
            this.ParticipantId = string.Empty;
            this.ForeignFlag = 0;
            this.Brokerage = 0;
            this.CdsFees = 0;
            this.CseFees = 0;
            this.StampDuty = 0;
            this.SecCess = 0;
            this.Btt = 0;
            this.InterestOnDebt = 0;
            this.OrderId = string.Empty;
            this.TranId = string.Empty;
            this.Status = 0;
            this.GovernmentCess = 0;
        }
        #endregion


        #region property

        public string TradeDate { get; set; }
        public string TradeTime { get; set; }
        public string BuySell { get; set; }
        public string ExecutionId { get; set; }
        public string CompanyId { get; set; }
        public string MainType { get; set; }
        public string SubType { get; set; }
        public int Quantity { get; set; }
        public double Price { get; set; }
        public string LotType { get; set; }
        public int TaxFlag { get; set; }
        public string BrokerIdBuy { get; set; }
        public string BrokerIdSell { get; set; }
        public int BuyingContractNo { get; set; }
        public int SellingContractNo { get; set; }
        public int ClientPrefix { get; set; }
        public string ClientSuffix { get; set; }
        public int JointAcNo { get; set; }
        public string ParticipantId { get; set; }
        public int ForeignFlag { get; set; }
        public double Brokerage { get; set; }
        public double CdsFees { get; set; }
        public double CseFees { get; set; }
        public double StampDuty { get; set; }
        public double SecCess { get; set; }
        public double Btt { get; set; }
        public double InterestOnDebt { get; set; }
        public string OrderId { get; set; }
        public string TranId { get; set; }
        public int Status { get; set; }
        public double GovernmentCess { get; set; }


        #endregion
    }

    public class TradeCollection : Collection<Trade>
    {
        public TradeCollection()
        {
        }
    }
}
